package machine;

import automaton.DeterministAutomaton;
import automaton.NotDeterministInitialStateException;
import automaton.NotDeterministTransitionException;
import automaton.State;
import automaton.Transition;
import automaton.UnknownInitialStateException;
/**
 * @depend - - - automaton.State
 * @depend - - - automaton.Transition
 */
public class FiniteStateMachine<T> extends DeterministAutomaton<T> {

	public FiniteStateMachine(TransitionWithAction<T>[] transitions)
			throws NotDeterministTransitionException,
			NotDeterministInitialStateException, UnknownInitialStateException {
		super(transitions);
	}

	protected State changeCurrentState(Transition<T> t) {
		return ((TransitionWithAction<T>) t).cross();
	}
}
